package com.lookme.lmtool.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.awt.image.BufferedImage;

/**
 * 分割后的图像信息类
 * @author blake
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SpliterInfo {
    /**
     * 分割后的图像
     */
    BufferedImage image;
    /**
     * 分割后的图像在源图像中的位置
     */
    Rect rect;

    /**
     * 分割后的图像 的16*16的图像
     */
    BufferedImage featureImage;
    /**
     * 分割后图像识别的结果
     */
    String ocrData;

    public int getX(){
        return rect.getX();
    }
    public int getY(){
        return rect.getY();
    }
    public int getWidth(){
        return rect.getWidth();
    }
    public int getHeight(){
        return rect.getHeight();
    }

    public static SpliterInfo get(BufferedImage sourceImage,Rect rect){
        SpliterInfo spliterInfo=new SpliterInfo();
        spliterInfo.setImage(sourceImage.getSubimage(rect.getX(),rect.getY(),rect.getWidth(),rect.getHeight()));
        spliterInfo.setRect(rect);
        return spliterInfo;
    }
}
